package com.myzk.example.utils.common;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期工具类
 * @author mayong
 * @date 2020年04月06日
 */
public class DateUtil {

	public static final String DATE_FORMATTER = "yyyy-MM-dd";
	public static final String TIME_FORMATTER = "HH:mm:ss";
	public static final String DATA_TIME_FORMATTER = "yyyy-MM-dd HH:mm:ss";
	public static final String TIMESTAMP_FORMATTER = "yyyyMMddHHmmss";

	public static Date now(){
		return new Date();
	}

	public static String todayStr(String format) {
		return formatDate(new Date(), format);
	}

	public static String todayStr() {
		return formatDate(new Date(), DATE_FORMATTER);
	}

	/**
	 * @param date   需要格式化的日期對像
	 * @param formatter 格式化的字符串形式
	 * @return 按照formatter指定的格式的日期字符串
	 * @throws ParseException 無法解析的字符串格式時拋出
	 */
	public static String formatDate(Date date, String formatter) {
		if (date == null || formatter == null) {
			return "";
		}
		try {
			return new SimpleDateFormat(formatter).format(date);
		} catch (Exception e) {
			//e.printStackTrace();
		}
		return "";
	}

	public static Date parseDate(String dateStr, String pattern) {
		if(dateStr==null || dateStr.length()==0) {
			return null ;
		}
		try {
			return new SimpleDateFormat(pattern).parse(dateStr);
		} catch (ParseException e) {
			//e.printStackTrace();
			return null ;
		}
	}
	
}
